package com.homedo.microservice.open.service.gateway.manager.web.api;

import com.homedo.common.bean.data.RequestData;
import com.homedo.common.bean.data.ResponseData;
import com.homedo.microservice.open.service.gateway.manager.web.api.bean.model.req.RouteDomainAddAReq;
import com.homedo.microservice.open.service.gateway.manager.web.api.bean.model.req.RouteDomainPageAReq;
import com.homedo.microservice.open.service.gateway.manager.web.api.bean.model.req.RouteDomainUpdateAReq;
import com.homedo.microservice.open.service.gateway.manager.web.api.bean.model.resp.RouteDomainAResp;
import com.homedo.microservice.open.service.gateway.manager.web.api.bean.model.resp.RouteDomainPageAResp;
import com.homedo.microservice.open.service.gateway.manager.web.api.constant.RemoteService4OpenServiceGatewayManagerWebServiceConstant;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@RequestMapping(RemoteService4OpenServiceGatewayManagerWebServiceConstant.SERVICE_ID + "/routeDomain")
public interface IRouteDomainServiceRemote {

    @GetMapping(value = "list")
    ResponseData<RouteDomainPageAResp> list(RouteDomainPageAReq routeDomainPageAReq);

    @GetMapping(value = "detail/{id}")
    ResponseData<RouteDomainAResp> detail(Integer id);

    @PostMapping(value = "update")
    ResponseData update(RequestData<RouteDomainUpdateAReq> requestData);

    @PostMapping(value = "add")
    ResponseData<RouteDomainAResp> add(RequestData<RouteDomainAddAReq> requestData);

    @GetMapping(value = "delete/{id}")
    ResponseData delete(Integer id);

}
